汇编语言伪指令详解(附实例) |
您所在的位置:网站首页 › 汇编语言dw › 汇编语言伪指令详解(附实例) |
伪指令不是真正的指令,并没有与之对应的的机器码,不会被执行。伪指令所起的作用主要是对汇编过程进行控制。 常见的伪指令如下所示: 目录 (1)ORG———汇编起始指令 (2)END——汇编结束命令 (3)EQU——赋值指令 (4)DB——字节定义伪指令 (5)DW——定义字命令 (6)DS——定义存储空间指令 (7)BIT——位地址符号命令 (1)ORG———汇编起始指令功能:规定该伪指令下面的目标程序的起始地址 格式:ORG 16位地址 举例: ORG 0080H ;表示下面的程序从地址0080H开始 ST:…… ORG 0100H …… 注意:ORG命令按出现的顺序其后的地址必须增大,且不能重叠。否则编译器可能报错。比如上例中0100H就大于0080H。(2)END——汇编结束命令该伪指令是汇编语言结束的标志,对于在END之后的汇编指令不予处理。一个汇编程序可以有多个ORG伪指令,但是只可以有一个END指令,否则编译器会报错。 ORG 0000H ;单片机复位后便从0000H取指令 AJMP START ;跳转到程序的真正开始地址 ORG 0003H ;外部中断0的入口地址 AJMP SER_INT0 ;该指令用于跳转到外部中断0中断服务程序 ORG 000BH ;定时器中断入口 AJMP SER_TIMER0 ;跳转到定时器T0的中断服务程序 ……………….. ORG 0030H START: ………… ;程序的开始 ………… SER_INT0: ………… RETI ;用于中断返回 SER_TIMER0: ………… RETI ;用于中断返回 END ;汇编指令结束标志 (3)EQU——赋值指令格式:字符名称 EQU 数或特定的符号 功能:将一个常数或一个特定的符号赋给规定的字符名称。当汇编程序遇到EQU前面的字符名称后,便会用EQU后面的数(或特定的符号)代替。 例如: CC EQU R1 DD EQU #11H MOV CC,DD ;此指令与MOV R1,#11H一致。 注意:字符名称不是标号,后面不需要“:”。 (4)DB——字节定义伪指令格式: 标号:DB 数据项 ;数据项之间用逗号隔开功能:从该地址开始,在程序存储器中定义一串字节单元,并用数据项进行赋值。例: ORG 0400H TAB:DB 80H,95H,74H 则经过编译后,程序存储器中:(0040H)=80H,(0041H)=95H,(0042H)=74H。 该指令常常放在程序的最后,用于开辟表格。(5)DW——定义字命令格式:标号: DW 数据项功能:从该地址开始,在程序存储器中定义一串字单元,并用数据项进行赋值。先存高字节,后存低字节,即:高字节放在低地址,低字节放在高地址。例: ORG 0080H TAB:DW 08H,7799H,1234H 经过编译后,程序存储器中: (0080H)=00H,(0081H)=08H, (0082H)=77H,(0083H)=99H, (0084H)=12H,(0085H)=34H。 (6)DS——定义存储空间指令格式:DS 表达式功能:从该指令地址开始,保留DS之后表达式的值所规定的存储单元,以备后用。例: ORG 0090H DS 5 DB 50H 汇编后,从0090H开始保留5个存储单元,而(0095H)=50H (7)BIT——位地址符号命令格式: 字符名称 BIT 位地址功能:将位地址赋予所规定的字符名称。例 LEFT BIT P1.0 RIGHT BIT P1.1 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |